import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class ListCompare {

	static String myString = "myString";

	public static void main(String[] args) {
		List<String> listLinked = new LinkedList<>();
		List<String> listArray = new ArrayList<>(10000);


		// worming up
		long currentTime = System.currentTimeMillis();
		long finishTime=currentTime+3000;
		int k=0;
		
		while (currentTime < finishTime) {		
			act(listLinked);
			act(listArray);
			if (k % 10 == 0) {
				listLinked.clear();
				listArray.clear();
			}
			k++;
			currentTime=System.currentTimeMillis();
		}

		// action
		int i = 100;
		long listLinkedTime=0;
		long listArrayTime=0;
		
		for (int j = 0; j < i; j++) {
			listLinkedTime=act(listLinked);
			listArrayTime=act(listArray);;
			
				System.out.println(j+" "+listLinkedTime+" "+ listArrayTime+" "+ (listLinkedTime-listLinkedTime));
		}
	}

	static long act(List<String> l) {
		long t = 0;
		t += System.nanoTime();
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);
		l.add(0, myString);		
		t -= System.nanoTime();
		return t * (-1);
	}

}
